package com.cuiyongzhi.wechat.dispatcher;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.cuiyongzhi.wechat.message.resp.Article;
import com.cuiyongzhi.wechat.message.resp.NewsMessage;
import com.cuiyongzhi.wechat.message.resp.TextMessage;
import com.cuiyongzhi.wechat.util.MessageUtil;

/**
 * ClassName: MsgDispatcher
 * @Description: 消息业务处理分发器
 * @author dapengniao
 * @date 2016年3月7日 下午4:04:21
 */
public class MsgDispatcher {
	public static String processMessage(Map<String, String> map) {
		String openid=map.get("FromUserName"); //用户openid
		String mpid=map.get("ToUserName");   //公众号原始ID
		
		//普通文本消息
		TextMessage txtmsg=new TextMessage();
		txtmsg.setToUserName(openid);
		txtmsg.setFromUserName(mpid);
		txtmsg.setCreateTime(new Date().getTime());
		txtmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
		
		//对图文消息
		NewsMessage newmsg=new NewsMessage();
		newmsg.setToUserName(openid);
		newmsg.setFromUserName(mpid);
		newmsg.setCreateTime(new Date().getTime());
		newmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_NEWS);
		
		String content = "";
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) { // 文本消息
			content = map.get("Content");
			if("1".equals(content)){
				txtmsg.setContent("1.德稻战略设计大师 —— <a href=\"http://www.detaoma.com/about/595813.htm\">艾斯林格</a>");
			}else if("2".equals(content)){
				txtmsg.setContent("2.德稻品牌战略大师 —— <a href=\"http://www.detaoma.com/about/596559.htm\">白福瑞</a>");
			}else if("3".equals(content)){
				txtmsg.setContent("3.德稻先锋生态建筑大师及诗人 —— <a href=\"http://www.detaoma.com/about/596556.htm\">渡堂海</a>");
			}else if("4".equals(content)){
				txtmsg.setContent("4.德稻计算机图形及动画大师 —— <a href=\"http://www.detaoma.com/about/596712.htm\">吴晓毛</a>");
			}else if("上海商学院".equals(content)){
				Article article=new Article();
				article.setDescription("秉持“智慧、采集、传承”的核心价值观，自2010年以来，德稻教育先后汇聚了来自24个国家和地区的500余位兼具业界经验与学界地位的行业大师，对智慧进行科学化、系统化地采集，传承大师的行业经验和隐性知识，并提供系统化的课程设计和综合教学服务，帮助高校和教育机构提升国际化程度和教育教学水平。同时通过对国际国内教育生态、创新教育产品内容的潜心研究，明确了成为行业领先的创新教育内容与综合服务提供者的发展目标，并逐渐确立了德稻在教育行业的高端定位。"); //图文消息的描述
				article.setPicUrl("http://detaox-common.oss-cn-beijing.aliyuncs.com/detaox-dir/0db4a0f298754216b20fcc22d78b8979.jpg"); //图文消息图片地址
				article.setTitle("上海商学院");  //图文消息标题
				article.setUrl("https://4f2ac6b3.ngrok.io/wechat/main.html");  //图文url链接
				List<Article> list=new ArrayList<Article>();
				list.add(article);     //这里发送的是单图文，如果需要发送多图文则在这里list中加入多个Article即可！
				newmsg.setArticleCount(list.size());
				newmsg.setArticles(list);
				return MessageUtil.newsMessageToXml(newmsg);
			}else{
				txtmsg.setContent("你好，欢迎进入<a href=\"https://2b2aff36.ngrok.io/wechat/main.html\">授权登录</a>");
			}
			return MessageUtil.textMessageToXml(txtmsg);
		}
		
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_IMAGE)) { // 图片消息
			System.out.println("==============这是图片消息！");
			Article article=new Article();
			article.setDescription("秉持“智慧、采集、传承”的核心价值观，自2010年以来，德稻教育先后汇聚了来自24个国家和地区的500余位兼具业界经验与学界地位的行业大师，对智慧进行科学化、系统化地采集，传承大师的行业经验和隐性知识，并提供系统化的课程设计和综合教学服务，帮助高校和教育机构提升国际化程度和教育教学水平。同时通过对国际国内教育生态、创新教育产品内容的潜心研究，明确了成为行业领先的创新教育内容与综合服务提供者的发展目标，并逐渐确立了德稻在教育行业的高端定位。"); //图文消息的描述
			article.setPicUrl("https://oss.detaoma.com/upload/dtma-other/20170915111347716-5626.jpg"); //图文消息图片地址
			article.setTitle("德稻教育——智慧 先行");  //图文消息标题
			article.setUrl("http://www.detaoma.com");  //图文url链接
			List<Article> list=new ArrayList<Article>();
			list.add(article);     //这里发送的是单图文，如果需要发送多图文则在这里list中加入多个Article即可！
			newmsg.setArticleCount(list.size());
			newmsg.setArticles(list);
			return MessageUtil.newsMessageToXml(newmsg);
		}
		
		
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_LINK)) { // 链接消息
			txtmsg.setContent("");
			return MessageUtil.textMessageToXml(txtmsg);
		}
		
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_LOCATION)) { // 位置消息
			System.out.println("==============这是位置消息！");
			return "";
		}
		
		
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_VIDEO)) { // 视频消息
			System.out.println("==============这是视频消息！");
			return "";
		}
		
		
		if (map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_VOICE)) { // 语音消息
			System.out.println("==============这是语音消息！");
			return "";
		}

		return null;
	}
}
